Method and Apparatus for Whole-Network Anomaly Diagnosis and Method to Detect and Classify Network Anomalies Using Traffic Feature Distributions

ABSTRACT

To improve network reliability and management in today&#39;s high-speed communication networks, we propose an intelligent system using adaptive statistical approaches. The system learns the normal behavior of the network. Deviations from the norm are detected and the information is combined in the probabilistic framework of a Bayesian network. The proposed system is thereby able to detect unknown or unseen faults. As demonstrated on real network data, this method can detect abnormal behavior before a fault actually occurs, giving the network management system (human or automated) the ability to avoid a potentially serious problem.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Patent Application No. 60/694,853 and 60/694,840 both filed on Jun. 29, 2005 and the disclosures of both of which are incorporated by reference herein.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR

DEVELOPMENT

This invention was developed with support in part from the National Science Foundation grants numbered ANI-9986397 and CCR-0325701.

BACKGROUND OF THE INVENTION

A network anomaly is an unusual event in a network that is of interest to an entity such as a network provider, a network user, a network operator, or a law enforcement agency. A network anomaly may be created unintentionally as a result of normal network traffic conditions, such as a breakdown in a network resource. A network anomaly may also be created intentionally by a malicious attack by a hacker or a person acting to damage the network or impair the performance of the network.

Typically, a network anomaly is monitored, or analyzed, by collecting data from a network element such a single link or a single router of the network. Such data collection is done in isolation from other network data or other network elements. In other words, finding a network anomaly is closely related to a link-level traffic characterization.

Another approach to monitor or analyze a network anomaly treats a network anomaly as a deviation in traffic volume. This enables detection of a network anomaly that visually stands out, but a low-rate network anomaly (e.g., worms, port-scans, small outage events., etc.) are not detected by an approach based on traffic volume.

Still another approach to monitor or analyze a network anomaly is a manual method where a rule is developed. A match or a violation of the rule decides whether a network anomaly has been encountered. However, rule-based methods cannot detect new, previously unseen anomalies.

Many current methods provide a solution, for an element of the network, for each class of a network anomaly, whereas a solution for many elements of a network is preferable.

BRIEF SUMMARY OF THE INVENTION

The present invention relates to methods and apparatus for detecting, monitoring, or analyzing an unusual network event or a network anomaly in a communication network and the business of so doing for the benefit of others. Embodiments of the present invention can detect, monitor, or analyze the network anomaly by applying many statistical and mathematical methods. Embodiments of the present invention include both methods and apparatus to detect, monitor, or analyze the network anomaly. These include classification and localization.

The invention is a general technique for detecting and classifying unusual events (anomalies) in a network in an efficient, continuous manner. The technique is founded on analyzing the distributional properties of multiple features (addresses, ports, etc.) of network-wide traffic. This distributional analysis of traffic features has two key elements for the classification of network anomalies into meaningful clusters.

Network traffic is analyzed for distributions of multiple traffic features (addresses, ports, protocol, etc.) simultaneously. Anomaly detection using feature distribution is highly-sensitive and augments volume-based detections, by exposing low-rate important anomalies that cannot be detected by volume-based methods.

Feature distributions of network traffic are created to extract structural knowledge about an anomaly. This structural knowledge of anomalies is used to classify anomalies into distinct clusters that are structurally and semantically meaningful. The classification of anomalies is achieved by an unsupervised approach, so no human intervention or a priori knowledge is needed to categorize anomalies. This unsupervised approach allows the invention to recognize and classify novel (previously unseen) anomalies (e.g., new worms).

Moreover, the invention analyzes multiple features of network-wide data, i.e., data that is collected from multiple resources in a network. Network-wide analysis enables the detection of anomalies that span across a network. Network-wide analysis, coupled with the feature distribution analysis, allows the invention to detect and classify network-wide anomalies, augmenting detections by current schemes that are predominantly volume-based analysis of single-resource data.

Systematic analysis of data collected from multiple network resources (i.e., network links, routers, etc.) is a key feature of the invention. By leveraging whole-network data, the invention is able to diagnose a wide-range of anomalies, including those that may span throughout a network. Diagnosis allows identification of the time an anomaly is present, identification of the location of the anomaly in the network, and identification of the anomaly type.

Anomalies can arise for a variety of reasons from abuse (attacks, worms, etc.) to unintentional (equipment failure, human error, etc.). The technique is not restricted to point solutions for each type of anomaly. Instead, by treating anomalies as substantial deviations from established normal behavior, the invention provides a general solution for diagnosing a large class of anomalous events.

One embodiment describes forming a time series having at least one dimension corresponding to communication network traffic handled by network elements and decomposing the time series into several communication network traffic patterns existing in those network elements.

Another embodiment forms a uni- or multi-variate model having at least one dimension corresponding to communication network traffic handled by network elements and detecting an anomaly in a pattern in the communication network traffic.

Still another embodiment finds a deviation in a feature of communication network traffic.

Still another embodiment generates at least a distribution of a communication network traffic feature, estimates an entropy of the communication network traffic feature, sets a threshold of the entropy of the communication network traffic feature, and designates the communication network traffic feature to be anomalous when the entropy of the communication network traffic feature is found to be different from the set threshold of the entropy of the communication network traffic feature.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

These and other features of the invention are described below in the Detailed Description and the accompanying Drawing of which:

FIG. 1 illustrates a whole network used in the invention for a data source for anomaly detection;

FIGS. 2A-2C illustrate the processing of network data according to one aspect of the invention;

FIGS. 2D-2G are distributions useful in understanding the invention;

FIG. 2H illustrates data obtained according to the inventions illustrating normal network communication traffic;

FIG. 2I illustrates data obtained according to the inventions illustrating anomalous network communication traffic;

FIG. 2J illustrates data clustering over two dimensions;

FIGS. 3A-3B illustrate processing on network data according to a further aspect of the invention;

FIG. 3C illustrates a multi-dimensional matrices of date for plural features created in using the invention;

FIG. 3D illustrates matrix contents for the matrices of FIG. 3C;

FIGS. 3E-3F illustrate the results of using an entropy metric according to the invention;

FIG. 3G illustrates the matrix unwrapping as practiced in the invention;

FIG. 3H illustrates the result of clustering as practiced in the invention; and

FIG. 3I is an exemplary table for anomaly characterizing according to the invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention relates to methods and apparatus for detecting, monitoring, or analyzing an unusual network event or a network anomaly in a communication network. Embodiments of the present invention illustrate specific statistical techniques to detect, monitor, or analyze the network anomaly, other known techniques can be used. Embodiments of the present invention include both methods and apparatus to detect, monitor, or analyze the network anomaly. As used herein the term whole network when applied to the basis for data collection means at least a substantial part of the network such that the data is meaningful in anomaly detection and analysis.

FIG. 1 illustrates a communication network 100. The communication network 100 has network elements, such as nodes a-m with routers, servers, etc. An illustration of the flow of traffic is shown by route 118. The network elements are connected by network links 102 which may be similar or very different in features such as capacity, format, etc. In a given network, there could be more or fewer network elements and network links, in fact in the world of the Internet, this is a simplified picture of reality.

As an illustration, network node j has been shown to be made up of a lower level communication network having a sub-network, a LAN (Local Area Network), personal computers, and mobile agents. Such lower level communication network, shown as represented by network element 104, is made up of (sub)network elements, 106 that may be similar or different in scope, servers, routers or other means. These have network linkages 108 as know in the art. Each sub network element will typically be composed of similar or distinct personal computers 120, or mobile agents 122. These are linked by network links 110 which could be wireless or conventional.

One computational facility 124 in that network could be used to up load the programming 112 of the invention via media 114 to accomplish the data mining for data and/or analysis used in the invention. The analyzes of the invention could be done there on data 116 received from the nodes or other elements via paths 130 or elsewhere such as processor 120 that the date 116 is sent. Access to the data is in the hands of the network provided so obtaining the data is possible. If third parties are performing the analysis, access authorization is needed.

It should be noted that the above description is just for an illustrative architecture of the communication network 100. There could be more or fewer of any of the components of the communication network 100 and there could be many layers of lower level for a given network element and a given network link.

FIGS. 2A-2C illustrate a method for monitoring communication network 100 traffic 118, etc. The monitoring will need to access date throughout the network and as such each node a-m has or needs to give to the monitoring processor(s) access permissions. Huge amount of data is collected in this step and will typically be organized into matrix form. A collection machine or machines, which could include one or more processing stations 124, is used for this purpose.

In practicing the method, in a step 202, a process of forming a time series is started. The time series is to have at least one dimension corresponding to communication network 100 traffic on several network elements, such as the network nodes in the flow 118 for each of several periods of time. The elements are termed sources for the purpose of this illustration. In step 204, data for the time series is decomposed into several communication network 100 traffic patterns existing in several network elements nodes a-m. Element 206 illustrates the mathematical form of this data once decomposed into a matrix 208, representing a time series.

The matrix 208 has a separate source for each column and each row is data collected for one period of time over which the data was collected. The data includes information on such variables of network traffic as the number of bytes of traffic, the number of packets and the number of records. The data includes the information of the Internet Provider (IP) used to carry the traffic in each link and the port address, such as a PC 110, within each node. The data reveals a number of features such as source IP and source port as well as destination IP and destination port. All of this data is available in the blocks of network traffic. It is collected on a link basis, that is on and origin to destination, OD, basis.

In FIG. 2B the matrix 208 is processed in step 212 to extract common patterns over time by looking at the levels for each source period by period. From this, normal patterns are extracted. The remaining patterns are considered anomalous. Normal patterns will typically show volume cycling over a regular time such as 24 hours (FIG. 2H). When these types are extracted from the data as a whole, the remaining data will show a nearly random distribution but with a volume peak (230 in FIG. 2I) at a suspected or identified anomaly.

This is done time period by time period so that a step 214 is used to step through all the time periods in the matrix 208. At each iteration, step 214 decides whether the entire set of source data at each time period is above (normal) or below (possibly anomalous) a threshold. The threshold can be preset or updated over time from the data mining results.

When a volume figure exceeds the threshold at one time period, processing turns to FIG. 2C and a step 216 in which each suspected anomaly is evaluated by a hypothesis process in which a number of possible sites are tested in an effort to find a match. This results in either sub step in finding a match for the location or identifying the most likely non matches.

A step 218 analyzes the anomaly found in step 216 by comparing the volume for the suspected source in normal traffic to the anomaly volume. This will give a value in the number of bytes, packets or records for the anomaly at that source. From there a step 220 provides to authorized users the anomaly time, location and quantity. From step 220 a step 222 returns processing back to step 214 for evaluation of the next time period.

The volume difference in the distribution of normal and anomalous traffic is shown in FIGS. 2D-2 G. FIGS. 2D-2E show normal traffic patterns as a function of detected pockets, bytes (pocket contents) or flows and port respectively. FIGS. 2F-2G show anomalous traffic on the same data sources. FIGS. 2H and 2I show the detected periodic behavior of normal traffic (2H) and the random nature with spike 230 of the residual with suspected anomaly (2I).

To reach this point mathematically, some form of dimensional analysis is typically used. One form used in the invention is PCA (Principle Component Analysis), described below.

PCA is a coordinate transformation method that maps a given set of data points onto new axes. These axes are called the principal axes or principal components. When working with zero-mean data, each principal component has the property that it points in the direction of maximum variance remaining in the data, given the variance already accounted for in the preceding components. As such, the first principal component captures the variance of the data to the greatest degree possible on a single axis. The next principal components then each capture the maximum variance among the remaining orthogonal directions.

We will apply PCA on our link data matrix 208, treating each row of Y. It is necessary to adjust Y so that that its columns have zero mean. This ensures that PCA dimensions capture true variance, and thus avoids skewing results due to differences in mean link utilization. Y will denote the mean-centered link traffic data.

Applying PCA to Y yields a set of m principal components, {v_(i)}i^(m)=1. The first principal component v₁ is the vector that points in the direction of maximum variance in Y:

$\begin{matrix} {v_{1} = {\arg \; {\max\limits_{{v} = 1}{{Yv}}}}} & (1) \end{matrix}$

where ∥Yv∥² is proportional to the variance of the data measured along v. Proceeding iteratively, once the first k−1 principal components have been determined, the k-th principal component corresponds to the maximum variance of the residual. The residual is the difference between the original data and the data mapped onto the first k−1 principal axes. Thus, we can write the k-th principal component v_(k) as:

$\begin{matrix} {v_{k} = {\arg \; {\max\limits_{{v} = 1}{{\left( {Y - {\sum\limits_{i = 1}^{k - 1}\; {{Yv}_{i}v_{i}^{T}}}} \right)v}}}}} & (2) \end{matrix}$

An important use of PCA is to explore the intrinsic dimensionality of a set of data points. By examining the amount of variance captured by each principal component, ∥Yv∥², it is possible to ask whether most of the variability in the data can be captured in a space of lower dimension. If only the variance along the first r dimensions is non-negligible, then it is concluded that the pointset represented by Y effectively resides in an r-dimensional subspace of R.

Once the principal axes have been determined, the dataset can be mapped onto the new axes. The mapping of the data to principal axis i is given by Yv_(i-). This vector can be normalized to unit length by dividing it by ∥Yv₁₋∥. Thus, for each principal axis i,

$\begin{matrix} {{u_{i} = {{\frac{{Yv}_{i}}{{Yv}_{i}}\mspace{14mu} i} = 1}},\ldots \mspace{14mu},{m.}} & (3) \end{matrix}$

The u_(i) are vectors of size t and are orthogonal by construction. The above equation shows that all the link counts, when weighted by v₁, produce one dimension of the transformed data. Thus vector u_(i) captures the temporal variation common to the entire ensemble of the link traffic timeseries along principal axis i. Since the principal axes are in order of contribution to overall variance, u1 captures the strongest temporal trend common to all link traffic, u2 captures the next strongest, and so on. The set {u_(i)}i⁴=1 captures most of the variance and hence the most significant temporal patterns common to the ensemble of all link traffic timeseries. FIGS. 2H and 2I show respectively the strongest principal component, u₁, and a component having far less axial prominence.

The subspace method works by separating the principal axes into two sets, corresponding to normal and anomalous variation in traffic. The space spanned by the set of normal axes is the normal subspace S and the space spanned by the anomalous axes is the anomalous subspace S. This is shown in FIG. 2J.

The Ux projection of the data exhibits significant anomalous behavior. Traffic “spike” 230 indicates unusual network conditions, possibly induced by an anomaly. The subspace method treats such projections of the data as belonging to the anomalous subspace.

A variety of procedures can be applied to separate the two types of projections into normal and anomalous sets. Based on examining the differences between typical and atypical projections a simple threshold-based separation method works well in practice. The separation procedure examines the projection on each principal axis in order, maximum spread to minimum spread as would be expected. As soon as a projection is found that exceeds the threshold (e.g., contains a 3σ deviation from the mean), that principal axis and all subsequent axes are assigned to the anomalous subspace. All previous principal axes then are assigned to the normal subspace. This procedure results in placing early principal components in the normal subspace.

Having separated the space of all possible link traffic measurements into the subspaces S and {tilde over (S)}, the traffic on each link is decomposed into its normal and anomalous components.

The methods used for detecting and identifying volume anomalies draw from theory developed for subspace-based fault detection in multivariate process control.

Detecting volume anomalies in link traffic uses the separation of link traffic y at any timestep into normal and anomalous components. These as the modeled and residual parts of y.

In the subspace-based detection step, once S and {tilde over (S)} have been constructed, this separation can be effectively performed by forming the projection of link traffic onto these two subspaces. The set of link measurements at a given point in time y is decomposed:

y=ŷ+{tilde over (y)}  (4)

such ŷ that corresponds to modeled and {tilde over (y)} to residual traffic. It is possible to form ŷ by projecting y onto S, and {tilde over (y)} by projecting y onto {tilde over (S)}.

The set of principal components corresponding to the normal subspace (v1, v2, . . . , vr) is arranged as columns of a matrix P of size m×r where r denotes the number of normal axes k. ŷ and {tilde over (y)} are:

ŷ=PP ^(T) y=Cy and {tilde over (y)}=(I−PP ^(T))y={tilde over (C)}y   (5)

where the matrix C=PPT represents the linear operator that performs projection onto the normal subspace S, and {tilde over (C)} likewise projects onto the anomaly subspace {tilde over (S)}.

Thus, ŷ contains the modeled traffic and {tilde over (y)} the residual traffic. In general, the occurrence of a volume anomaly will tend to result in a large change to {tilde over (y)}. A useful statistic for detecting abnormal changes in {tilde over (y)} is the squared prediction error (SPE):

SPE=∥{tilde over (y)}∥ ² =∥{tilde over (C)}y∥ ²   (6)

network traffic is normal if

SPE≦δ_(α) ²   (7)

where δ_(α) ² denotes the threshold for the SPE at the 1−α confidence level. A statistical test for the residual vector known as the Q-statistic given as:

$\begin{matrix} {{\delta_{\alpha}^{2} = {\varphi_{1}\left\lbrack {\frac{c_{\alpha}\sqrt{2\; \varphi_{2}h_{0}^{2}}}{\varphi_{1}} + 1 + \frac{\varphi_{2}{h_{0}\left( {h_{0} - 1} \right)}}{\varphi_{1}^{2}}} \right\rbrack}^{\frac{1}{h_{0}}}}{where}} & (8) \\ {{h_{0} = {1 - \frac{2\; \varphi_{1}\varphi_{3}}{3\; \varphi_{2}^{2}}}},{{{{and}\mspace{14mu} \varphi_{i}} = {\sum\limits_{j = {r + 1}}^{m}\lambda_{j}^{i}}};{{{for}\mspace{14mu} i} = 1}},2,3} & (9) \end{matrix}$

and where λj is the variance captured by projecting the data on the j-th principal component (∥Yv_(j)∥²), and cα is the 1−α percentile in a standard normal distribution. The result holds regardless of how many principal components are retained in the normal subspace.

In this setting, the 1−α confidence limit corresponds to a false alarm rate of α, if the assumptions under which this result is derived are satisfied. The confidence limit for the Q-statistic is derived under the assumption that the sample vector y follows a multivariate Gaussian distribution. However, i t is pointed out that the Q-statistic changes little even when the underlying distribution of the original data differs substantially from Gaussian.

In the subspace framework, a volume anomaly represents a displacement of the state vector y away from S. The particular direction of the displacement gives information about the nature of the anomaly. The approach to anomaly identification is to ask which anomaly out of a set of potential anomalies is best able to describe the deviation of y from the normal subspace S.

The set of all possible anomalies is (Fi, i=1, . . . , I). This set should be chosen to be as complete as possible, because it defines the set of anomalies that can be identified.

For simplicity of illustration, only one-dimensional anomalies are considered; that is, anomalies in which the additional per-link traffic can be described as a linear function of a single variable. It is straightforward to generalize the approach to multi-dimensional anomalies as shown infra.

Then each anomaly F_(i) has an associated vector θ_(i) which defines the manner in which this anomaly adds traffic to each link in the network. Assuming that θ_(i) has unit norm, then in the presence of anomaly F_(i), the state vector y is represented by

y=y*+θ _(i) f _(i)   (10)

where y* represents the sample vector for normal traffic conditions (and which is unknown when the anomaly occurs), and f_(i) represents the magnitude of the anomaly.

Given some hypothesized anomaly F_(i), form an estimate of y* by eliminating the effect of the anomaly, which corresponds to subtracting some traffic contribution from the links associated with anomaly F_(i). The best estimate of y* assuming anomaly F_(i) is found by minimizing the distance to the normal subspace S in the direction of the anomaly:

$\begin{matrix} {f_{i} = {\arg \; {\min\limits_{f_{i}}{{\overset{\sim}{y} - {{\overset{\sim}{\theta}}_{i}f_{i}}}}}}} & (11) \end{matrix}$

where {tilde over (y)}={tilde over (C)}y and {tilde over (θ)}_(i)={tilde over (C)}θ_(i). This gives f_(i)=({tilde over (θ)}_(i) ^(T){tilde over (θ)}_(i))⁻¹{tilde over (θ)}_(i) ^(T){tilde over (y)} Thus the best estimate of y* assuming anomaly F_(i) is:

$\begin{matrix} \begin{matrix} {y_{i}^{*} = {y - {\theta_{i}{\hat{f}}_{i}\mspace{14mu} \ldots}}} \\ {= {y - {{\theta_{i}\left( {{\overset{\sim}{\theta}}_{i}^{T}{\overset{\sim}{\theta}}_{i}} \right)}^{- 1}{\overset{\sim}{\theta}}_{i}^{T}y\mspace{14mu} \ldots}}} \\ {= {\left( {I - {{\theta_{i}\left( {{\overset{\sim}{\theta}}_{i}^{T}{\overset{\sim}{\theta}}_{i}} \right)}^{- 1}{\overset{\sim}{\theta}}_{i}^{T}\overset{\sim}{C}}} \right)y}} \end{matrix} & (12) \end{matrix}$

To identify the best hypothesis from the set of potential anomalies, chose the hypothesis that explains the largest amount of residual traffic. That is, chose the Fi that minimizes the projection of y*_(i) onto {tilde over (S)}.

Thus, in summary, the identification algorithm consists of:

1. for each hypothesized anomaly Fi, i=1, . . . , I, compute y*_(i) using Equation (1)

2. choose anomaly Fj as j=arg min_(i) ∥{tilde over (C)}y*_(i)∥.

The possible anomalies are (Fi, i=1, . . . , n) where n is the number of OD flows in the network. In this case, each anomaly adds (or subtracts) an equal amount of traffic to each link it affects. Then θ_(i) is defined as column i of the routing matrix A, normalized to unit norm: θi=Ai/∥Ai∥_.

With an estimate of the particular volume anomaly, Fi, the number of bytes that constitute this anomaly are estimated. The estimated amount of anomalous traffic on each link due to the chosen anomaly Fi is given by

y′=y+y* _(i)   (13)

Then the estimated sum of the additional traffic is proportional to θ_(i) ^(T)y′. Since the additional traffic flows over multiple links, one must normalize by the number of links affected by the anomaly.

In the current case, where anomalies are defined by the set of OD flows, our quantification relies on A. We use A to denote the routing matrix normalized so that each column of A has unit sum, that is:

$\begin{matrix} {{\overset{\_}{A}}_{i} = \frac{A_{i}}{\sum A_{i}}} & (14) \end{matrix}$

Then given identification of anomaly Fi, our quantification estimate is:

Ā_(i) ^(T)y′  (15)

Some anomalies may lie completely within the normal subspace S and so cannot be detected by the subspace method. Formally, this can occur if {tilde over (C)} θ_(i)=0 for some anomaly F_(i). In fact this is very unlikely as it requires the anomaly and the normal subspace S to be perfectly aligned. However, the relative relationship between the anomaly θ_(i) and the normal subspace can make anomalies of a given size in one direction harder to detect than in other directions.

The principles described above are used in another aspect of the invention to produce a multi-feature (multi-way), multi source (multivariate) distribution of traffic flow data. The process begins in step 310 of FIG. 3A by collecting data over multiple features of a whole network and for multiple sources. In step 340 the data is organized in a 3D matrix form, an example of such being shown in FIG. 3C. Here a series of matrices 332 are formed, one for each feature. The matrix form has source, OD pairs or links presented, one for each column against the number of time periods, one for each row. In the example of the present invention the features are: source IP, source port, destination IP and destination port. Other or less features may be used as well.

FIG. 3D shows a set of data for, each matrix element, meaning that the matrices 332 are in fact three dimensional, each matrix position having a series of data points 334. It thus resembles the matrices above showing source v. time period data.

In a step 344 of FIG. 3A this data is reduced statistically by a process of characterizing each feature distribution, in this example, an entropy metric, giving the results of state 346. There results a set of 3D matrices 336 shown in FIG. 3G. discussed below. An entropy metric processes each data point using the formula:

$\begin{matrix} {{H(x)} = {\sum\limits_{i = 1}^{N}{\left( \frac{ni}{s} \right){\log_{2}\left( \frac{ni}{s} \right)}}}} & (16) \end{matrix}$

Here i occurs n_(i) times and S is the total number of observations in the matrix. The new matrices 336, in FIG. 3G and in state 360 have 3D character as well.

The process of statistical simplification of two different distributions by an entropy metric is illustrated in FIGS. 3E and 3F, illustrating high and low entropy figures. When the distribution histogram is dispersed (FIG. 3E), entropy summarization of the histogram is high. And, when the histogram is skewed or concentrated on a handful of values as in FIG. 3F, the entropy value of the histogram is small.

In subsequent step 338, the matrices 336 are “unwrapped” into a large 2D matrix 342 in which the rows of each matrix 336 are assembled into long rows such as row 348 in FIG. 3G by continuing from feature to feature. In FIG. 3G, the features are in exemplary form the source IP address and port and the destination IP address and port.

The matrix 342 is then processed in step 350 and 352 by a subspace clustering technique on the principles as previously described. This is an iterative process in that it steps repeatedly through the procedures in step 352, looping via steps 370 and 380. The following describes the net result of the iteration.

In a step 354 of an anomaly classification process for each detected anomaly the residual components are found for of K each features. A detected anomaly yields a set of “K” numbers, one for each of the features in the matrix 340. The K numbers represent a point in K-dimensional space and is so treated in step 356. That is the K numbers are treated as positions along K axes in K space and they are so plotted in step 358. This plotting occurs in a processor such as such as processor 120 and an associated database.

Clustering techniques are then applied in step 360 to identify clusters of points that are near to each other according to a threshold value for nearness. Such a value for threshold is determined directly from the datapoints and also adjusted over time for more accurate result as a part of a learning from use process. The clustering may be performed in a lower dimensional space such as, for example, projecting them onto a 2D space as in FIG. 3H.

The resulting clusters (an example with K=2 dimensions is shown in 362 ) as in FIG. 3H, may be interpreted by rules, initially established by knowledge on manual observations to correlate a region with a human-friendly description of an anomaly. An example is: “an anomaly that falls in the region of high residual destination IP entropy and low residual destination port entropy is a worm scan”. FIG. 3I shows a table of actual data obtained by evaluation of this invention on real network traffic and its interpretation. The table shows for the four features described above how the entropy metric level (− being low and + being high) defines clustering locations that are interpreted as a variety of anomaly types (Plurality of Labels) shown in the figure. This allows anomaly classification to be accomplished when location is added as a feature during clustering the present invention allows simultaneous classification and localization. Other anomaly types that can be separated include: content distributions, routing loops, traffic engineering, overloads. The invention can spot other anomalies than those above or than previously known using the clustering based approach. This provides an unsupervised learning approach to identifying new network anomaly types.

In this manner various service providers for networks (e.g., Service provider networks or cable providers) that subscribe to or use the invention may be able to take remedial steps to deal with anomalies and provide assurances to their subscribers of that ability. This will potentially make their service more appealing. The providers may also contract this function to independent analysts by giving them the necessary access to network elements, thereby creating a new business opportunity.

The invention has been illustrated for use in service provider networks but can equally be used in other types of networks such as transportation highway networks, postal service networks, and sensor networks. 

1. A method for monitoring communication network traffic comprising: forming a plurality of time series collectively characterizing communication network traffic on a plurality of network elements; and decomposing the plurality of time series into at least one communication network traffic pattern existing in at least two of the plurality of network elements.
 2. The method of monitoring communication network traffic of claim 1 wherein the multiple time series is from a data stream.
 3. The method of monitoring communication network traffic of claim 1 wherein the multiple time series is formed from a plurality of sources.
 4. A method for monitoring communication network traffic comprising: forming a plurality of time series collectively characterizing communication network traffic on a plurality of network elements by time; and decomposing the plurality of time series by time into at least one communication network traffic pattern existing in at least one of the plurality of network elements.
 5. The method of claim 1 wherein said plurality of time series are formed from data corresponding to communication network traffic in multiple network locations.
 6. The method of claim 5 wherein said decomposing includes performing principal component analysis on said time series.
 7. The method of claim 1 further including constructing a data model representing normal communication network traffic patterns that exist in the plurality of network elements.
 8. The method of claim 7 wherein said constructing includes forming a low-dimensional approximation of normal communication network traffic.
 9. The method of claim 8 wherein said constructing further includes extracting from said time series, at least one pattern representing a fraction of communication network traffic information.
 10. The method of claim 8 wherein said constructing further includes extracting from said time series, at least one pattern representing a fraction thereof as measured by entropy.
 11. The method of claim 1 further including detecting an anomaly.
 12. The method of claim 11 wherein said detecting an anomaly includes estimating a data flow of the communication network traffic.
 13. The method of claim 11 wherein said detecting includes counting at least one packet.
 14. The method of claim 13 wherein said detecting includes processing packet contents.
 15. The method of claim 11 wherein said detecting includes detecting a type of said anomaly.
 16. The method of claim 11 wherein said detecting includes identifying residual communication network traffic apart from normal network traffic.
 17. The method of claim 16 wherein said analyzing includes determining when said residual communication network traffic exceeds a statistical threshold.
 18. The method of claim 17 wherein said determining includes localizing said anomaly to one or more network elements affected by the anomaly.
 19. The method of claim 18 wherein said the localizing includes comparing said anomaly to at least one learned hypothesis to find a fit.
 20. The method of claim 1 further including finding a deviation in a feature of the communication network traffic.
 21. The method of claim 20 wherein the finding includes summarizing a distribution of a traffic feature in a number using entropy.
 22. The method of claim 20 further including localizing the feature deviation.
 23. The method of claim 1 wherein said decomposing includes clustering.
 24. A method for analyzing communication network traffic comprising: forming a model from one or more data types from one or more sources having at least one dimension corresponding to communication network traffic on a plurality of network elements; and detecting an anomaly as a pattern in the model of communication network traffic.
 25. The method of claim 24 wherein said detected anomaly pattern is a pattern characterizing one or more anomalies in the group consisting of a DoS attack; worm scan; port scan; flash crowd; content distribution; large traffic shift; overloads; outage events; routing loops; traffic engineering.
 26. The method of claim 24 wherein said pattern is a previously unknown pattern.
 27. The method of claim 24 wherein the detecting includes estimating a data flow of the communication network traffic.
 28. The method of claim 24 wherein the detecting includes counting at least one packet.
 29. The method of claim 28 wherein the detecting includes processing packet contents.
 30. The method of claim 24 wherein the detecting includes detecting a type of said anomaly.
 31. The method of claim 24 wherein the detecting includes identifying residual communication network traffic apart from normal network traffic.
 32. The method of claim 31 wherein the analyzing includes determining when either said residual or said normal communication network traffic exceeds a statistical threshold.
 33. The method of claim 32 wherein said step of determining includes localizing said anomaly to one or more network elements affected by the anomaly.
 34. The method of claim 33 wherein the localizing includes comparing said anomaly to at least one predetermined hypothesis to find a fit.
 35. The method of claim 24 further including finding a deviation in a feature of the communication network traffic.
 36. The method of claim 35 wherein said finding includes summarizing a distribution in a number using entropy.
 37. The method of claim 35 further including localizing the deviation of the feature to one or more network elements affected by the anomaly.
 38. The method of claim 24 wherein said detecting includes clustering.
 39. A method for detecting an anomaly in a communication network comprising: finding a deviation in a pattern determined from a plurality of features of communication network traffic.
 40. The method of claim 39 wherein said pattern deviation is a pattern characterizing one or more anomalies in the group consisting of: a DoS attack; worm scan; port scan; flash crowd; content distribution; large traffic shift; overloads; outage events; routing loops; traffic engineering.
 41. The method of claim 40 wherein said pattern represents a previously unknown anomaly.
 42. The method of claim 39 wherein the deviation finding finds a deviation from a set of features including features of source address, destination address, application ports, and protocol information.
 43. The method of claim 39 wherein finding a deviation includes estimating a data flow of the communication network traffic.
 44. The method of claim 39 wherein finding a deviation includes counting at least one packet.
 45. The method of claim 44 wherein finding a deviation includes processing packet contents.
 46. The method of claim 39 wherein finding a deviation includes detecting a type of said anomaly.
 47. The method of claim 39 further including localizing the deviation to elements affected.
 48. The method of claim 39 wherein said deviation finding includes clustering.
 49. A method for monitoring communication network traffic comprising: generating at least a distribution of a communication network traffic feature; estimating an entropy of the distribution; designating the communication network traffic feature to be anomalous when the entropy of the communication network traffic feature differs from a threshold of the entropy.
 50. The method of claim 49 further including establishing said threshold of the entropy of the distribution from network traffic history.
 51. The method of claim 49 wherein said network traffic feature is selected from the group of one or more of: source IP, destination IP, source port, destination port, and communication protocol.
 52. The method of claim 49 wherein estimating an entropy further includes estimating the entropy of the communication network traffic feature distribution for a single element of a communication network.
 53. The method of claim 49 wherein estimating an entropy further includes identifying the entropy as high or low in a feature distribution.
 54. The method of claim 49 wherein estimating the entropy of the communication network traffic feature further includes a matrix operation.
 55. The method of claim 49 wherein estimating an entropy further includes an estimation of an entropy of the distribution with respect to an interval of time.
 56. A method for anomaly detection comprising: forming a model of network communication traffic corresponding to plural types and plural sources; extracting a pattern from said model; setting a threshold in said pattern for identifying an anomaly.
 57. A method for network communication traffic characterization comprising the steps of: clustering data on a plurality of features of network communication traffic; and forming a model thereon to identify normal traffic conditions in said network communication.
 58. A method for network communication traffic characterizing comprising the steps of: clustering data on a plurality of features of network communication traffic; and forming a model thereon to identify anomalous traffic conditions in said network communication.
 59. In a network over which communication is provided by one or more service providers, the method of securing service for provider customers comprising the steps of; performing the method of claim 58; and localizing the detected anomaly.
 60. The method of claim 59 further including the step of obtaining access to data over said network.
 61. A method of claim 39 determining a threshold from pattern determined from a plurality of features of communication network traffic.
 62. Apparatus encoded with processing instructions for performing the method of claim 1 or
 24. 63. The apparatus of claim 62 wherein said encoding is on one or more elements of media.
 64. The apparatus of claim 62 wherein said encoding is in one or more processors and wherein said one or more processors as thus encoded are operative to perform said method.
 65. Apparatus for monitoring communication network traffic comprising: means for forming a plurality of time series collectively characterizing communication network traffic on a plurality of network elements; and means for decomposing the plurality of time series into at least one communication network traffic pattern existing in at least two of the plurality of network elements.
 66. The apparatus for monitoring communication network traffic of claim 65 wherein the multiple time series is from a data stream.
 67. The apparatus for monitoring communication network traffic of claim 65 wherein the multiple time series is formed from a plurality of sources.
 68. Apparatus for monitoring communication network traffic comprising: means for forming a plurality of time series collectively characterizing communication network traffic on a plurality of network elements by time; and means for decomposing the plurality of time series by time into at least one communication network traffic pattern existing in at least one of the plurality of network elements.
 69. Apparatus for analyzing communication network traffic comprising: means for forming a model from one or more data types from one or more sources having at least one dimension corresponding to communication network traffic on a plurality of network elements; and means for detecting an anomaly as a pattern in the model of communication network traffic.
 70. Apparatus for detecting an anomaly in a communication network comprising: means for finding a deviation in a pattern determined from a plurality of features of communication network traffic.
 71. Apparatus for monitoring communication network traffic comprising: means for generating at least a distribution of a communication network traffic feature; means for estimating an entropy of the distribution; means for designating the communication network traffic feature to be anomalous when the entropy of the communication network traffic feature differs from a threshold of the entropy.
 72. Apparatus for anomaly detection comprising: means for forming a model of network communication traffic corresponding to plural types and plural sources; means for extracting a pattern from said model; means for setting a threshold in said pattern for identifying an anomaly.
 73. Apparatus for network communication traffic characterization comprising: means for clustering data on a plurality of features of network communication traffic; and means for forming a model thereon to identify normal traffic conditions in said network communication.
 74. A method for monitoring communication network traffic comprising: generating at least a distribution of communication network traffic features selected from the group consisting of source IP, source port, destination IP and destination port; estimating an entropy of the distribution for said features; identifying an anomaly type according to the entropy from one or more types as follows: TYPE H (srcIP) H (srcPort) H (dstIP) H (dstPort) Alpha − 0 − − Network 0 + 0 0 Scan Port Scan − + − + Port Scan 0 − 0 + Alpha 0 0 + 0 Outage 0 0 0 + Alpha − 0 − 0 Point 0 0 0 − multipoint Flash Crowd 0 0 0 − Alpha 0 − 0 0


75. Apparatus for monitoring communication network traffic comprising: means for generating at least a distribution of communication network traffic features selected from the group consisting of source IP, source port, destination IP and destination port; means for estimating an entropy of the distribution for said features; means for identifying an anomaly type according to the entropy from one of more types as follows: TYPE H (srcIP) H (srcPort) H (dstIP) H (dstPort) Alpha − 0 − − Network 0 + 0 0 Scan Port Scan − + − + Port Scan 0 − 0 + Alpha 0 0 + 0 Outage 0 0 0 + Alpha − 0 − 0 Point 0 0 0 − multipoint Flash Crowd 0 0 0 − Alpha 0 − 0 0 